home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / misc / frefs11.lha / FetchRefs / Install < prev    next >
Text File  |  1994-10-19  |  12KB  |  346 lines

  1. ; $VER: Install_FetchRefs 1.1 (19.10.94)
  2. ; By Anders Melchiorsen
  3.  
  4. (message (cat
  5.     "                                               \n"
  6.     "FetchRefs 1.1                                  \n"
  7.     "By Anders Melchiorsen                          \n"
  8.     "                                               \n"
  9.     "A feature packed utility that provides you with\n"
  10.     "the most comfortable access to your AutoDoc and\n"
  11.     "include file references.                       \n"
  12.     "                                               \n"
  13.     "Using:                                         \n"
  14.     "· reqtools.library, copyright Nico François    \n"
  15.     "· triton.library, copyright Stefan Zeiger      \n"
  16.     "                                               \n"
  17.     "FetchRefs is freely distributeable, providing  \n"
  18.     "that the distribution is left unchanged.       \n"
  19. ))
  20.  
  21. ; Don't bother to install on pre-2.04 machines
  22. (if (< (/ (getversion) 65536) 37)
  23.     (
  24.       (message (cat
  25.         "You need at least Kickstart 2.04 to use FetchRefs.\n"
  26.         "\n"
  27.         "Therefore it would be a complete waste of both    \n"
  28.         "your time and disk space to install it, and we're \n"
  29.         "not going to do it. Sorry - get upgraded!         \n"
  30.         )
  31.       )
  32.       (exit (quiet))
  33.     )
  34. )
  35.  
  36. (set @default-dest "")
  37. (welcome)
  38.  
  39. ; Install FetchRefs (default: in SYS:WBStartup)
  40. (set frto "SYS:WBStartup")
  41.  
  42. (if (= @user-level 2)
  43.     (set frto (askdir (prompt "Select drawer to place FetchRefs into")
  44.                       (default frto)
  45.                       (help (cat
  46.                             "You now have to select where to put FetchRefs.\n"
  47.                             "\n"
  48.                             "Installing FetchRefs in your WBStartup drawer "
  49.                             "is a good idea as you then do not have to do "
  50.                             "anything further; it will start itself "
  51.                             "automatically, everytime you reboot.\n"
  52.                             "\n"
  53.                             "If you select to put FetchRefs somewhere else, "
  54.                             "then you will have to edit your s:user-startup "
  55.                             "file to make it start FetchRefs automatically; "
  56.                             "this is obviously not as convinient."
  57.                            )
  58.                       )
  59.             )
  60.     )
  61. )
  62.  
  63. (copyfiles (source "FetchRefs")
  64.            (dest frto)
  65.            (infos)
  66.            (optional "force")
  67. )
  68.  
  69. (tooltype (dest (tackon frto "FetchRefs"))
  70.           (noposition)
  71. )
  72.  
  73. ; Install GenerateIndex (default: in SYS:Tools)
  74. (set grto "SYS:Tools")
  75.  
  76. (if (= @user-level 2)
  77.     (set grto (askdir (prompt "Select drawer to place GenerateIndex into")
  78.                       (default grto)
  79.                       (help (cat
  80.                                 "GenerateIndex is the index file generator "
  81.                                 "for FetchRefs and is required before you "
  82.                                 "can use ot at anything. The default of this "
  83.                                 "installation script is to put GenerateIndex "
  84.                                 "in your SYS:Tools drawer.\n"
  85.                                 "\n"
  86.                                 "If you chose not to install GenerateIndex in "
  87.                                 "the SYS:Tools drawer then you will have to "
  88.                                 "specify somewhere else to put it. It is not "
  89.                                 "important where you put it; it's entirely up "
  90.                                 "to you and your taste/disk structure."
  91.                             )
  92.                       )
  93.               )
  94.     )
  95. )
  96.  
  97. (copyfiles (source "GenerateIndex")
  98.            (dest grto)
  99.            (infos)
  100.            (optional "force")
  101. )
  102.  
  103. (tooltype (dest (tackon grto "GenerateIndex"))
  104.           (noposition)
  105. )
  106.  
  107. ; Install ARexx script for editor
  108. (set editor
  109.     (askchoice (prompt "Which text editor are you using?")
  110.                (choices "Unsupported editor" "AmokEd" "CygnusEd" "DME" "GoldED" "TurboText")
  111.                (help (cat
  112.                     "You need to specify what editor you're using because "
  113.                     "FetchRefs relies on an ARexx script in order to "
  114.                     "interface correctly to the editor. This script is "
  115.                     "different for all editors and therefore it is vital "
  116.                     "to install the right one.\n"
  117.                     "\n"
  118.                     "If you currently use an editor that is not "
  119.                     "supported, you may be able to create a "
  120.                     "script yourself. If not, you're probably out "
  121.                     "of luck. The existing scripts may be helpful "
  122.                     "if you want to make your own, so if you "
  123.                     "don't clarify what editor you use, all "
  124.                     "scripts will get installed; then you can snoop "
  125.                     "at them all."
  126.                 )
  127.                )
  128.     )
  129. )
  130.  
  131. (set rxto "REXX:")
  132.  
  133. (if (= @user-level 2)
  134.     (set rxto (askdir (prompt "Select drawer to place ARexx scripts into")
  135.                       (default rxto)
  136.                       (help (cat
  137.                                "If you select to put the ARexx scripts in "
  138.                                "your REXX: drawer, you will probably do just fine.\n"
  139.                                "\n"
  140.                                "However, some prefer to have a seperate drawer "
  141.                                "for scripts to each and every program, and in "
  142.                                "such a case you will need to specify where you "
  143.                                "want the FetchRefs script to go (which should "
  144.                                "be in the drawer for your editor, then)."
  145.                             )
  146.                       )
  147.            )
  148.     )
  149. )
  150.  
  151. (set patt (select editor "GoFetchRefs.~(rexx)"
  152.                          "GoFetchRefs.aed"
  153.                          "GoFetchRefs.ced"
  154.                          "GoFetchRefs.dme"
  155.                          "GoFetchRefs.ged"
  156.                          "GoFetchRefs.ttx"
  157.              )
  158. )
  159.  
  160. (copyfiles (source "Rexx")
  161.            (dest rxto)
  162.            (pattern patt)
  163.            (optional "force")
  164. )
  165.  
  166. ; Install ARexx script for Shell usage
  167. (set shell_rxto "REXX:")
  168. (set shell_rexx 1)
  169.  
  170. (if (= @user-level 2)
  171.         (if (askbool (prompt (cat "Install the ARexx script to use\n"
  172.                                   "FetchRefs from the Shell?"
  173.                              )
  174.                      )
  175.  
  176.                      (help (cat
  177.                                 "This script is used if you want to interface "
  178.                                 "FetchRefs from your Shell. It will simply print "
  179.                                 "the reference to the Shell window when you use "
  180.                                 "the script: 'rx GoFetchRefs <reference>'. You do not "
  181.                                 "even need an editor to use FetchRefs this way!"
  182.                            )
  183.                      )
  184.             )
  185.  
  186.             ; then
  187.  
  188.             (set shell_rxto (askdir (prompt "Select drawer to place the Shell ARexx script into")
  189.                               (default shell_rxto)
  190.                               (help (cat
  191.                                        "You must now select where you want the "
  192.                                        "ARexx script of FetchRefs to be placed. "
  193.                                        "Probably the most logical place is REXX:"
  194.                                     )
  195.                               )
  196.                       )
  197.             )
  198.  
  199.             ; else
  200.  
  201.             (set shell_rexx 0)
  202.         )
  203. )
  204.  
  205. (if (= shell_rexx 1)
  206.     (copyfiles (source "Rexx/GoFetchRefs.rexx")
  207.                (dest shell_rxto)
  208.                (optional "force")
  209.     )
  210. )
  211.  
  212. ; Check for triton.library and install if supplied version is more current
  213. (set new_version (getversion "Triton/triton.library"))
  214. (set her_version (getversion "LIBS:triton.library"))
  215. (set install_triton 0)
  216.  
  217. (set extramsg (cat
  218.             "\n"
  219.             "triton.library is required if you intend to \n"
  220.             "use the GUI of the index file generator for \n"
  221.             "FetchRefs.                                  \n"
  222.             )
  223. )
  224.  
  225. (if (= her_version 0)
  226.     (set install_triton
  227.         (if (= @user-level 2)
  228.             (askbool (prompt "Install triton.library?")
  229.                      (help (cat
  230.                             "You don't have triton.library installed!    \n"
  231.                             extramsg
  232.                            )
  233.                      )
  234.             )
  235.             ; else
  236.             1
  237.         )
  238.     )
  239.     ; else
  240.     (if (< her_version new_version)
  241.         (set install_triton
  242.             (if (= @user-level 2)
  243.                 (askbool (prompt "Install new triton.library?")
  244.                          (help (cat
  245.                                 "You have an old version of Triton installed.\n"
  246.                                 "FetchRefs requires at least version 2.      \n"
  247.                                 "\n"
  248.                                ("Your version:      %3ld.%-4ld                 \n" (/ her_version 65536) (- her_version (* (/ her_version 65536) 65536)))
  249.                                ("Version to install:%3ld.%-4ld                 \n" (/ new_version 65536) (- new_version (* (/ new_version 65536) 65536)))
  250.                                 extramsg
  251.                                )
  252.                          )
  253.                 )
  254.                 ; else
  255.                 1
  256.             )
  257.         )
  258.     )
  259. )
  260.  
  261. (if (= install_triton 1)
  262.     (copyfiles
  263.         (source "Triton/triton.library")
  264.         (dest "LIBS:")
  265.         (optional "force")
  266.     )
  267. )
  268.  
  269. ; Check for reqtools.library v38
  270. (set extramsg (cat
  271.             "\n"
  272.             "reqtools.library is freely distributeable   \n"
  273.             "and available from PD sources everywhere.   \n"
  274.             "\n"
  275.             "Note, however, that reqtools.library is only\n"
  276.             "required if you intend to use the GUI of the\n"
  277.             "index file generator for FetchRefs (contact \n"
  278.             "the guide for further information).         \n"
  279.             )
  280. )
  281.  
  282. (if (exists "LIBS:reqtools.library" (noreq))
  283.     (if ( < (/ (getversion "LIBS:reqtools.library") 65536) 38)
  284.         (message (cat 
  285.             "Your version of reqtools.library is too old.\n"
  286.             "\n"
  287.             "You should look around for a newer version  \n"
  288.             "of reqtools.library - at least version 38   \n"
  289.             "(release 2) is required.                    \n"
  290.             extramsg
  291.             )
  292.         )
  293.     )
  294.  
  295.     (message (cat
  296.         "You don't have reqtools.library installed; this \n"
  297.         "is required for optimal performance, so you     \n"
  298.         "should look around for it.                      \n"
  299.         extramsg
  300.         )
  301.     )
  302. )
  303.  
  304. ; Print final status report
  305. (message (cat
  306.             "FetchRefs is installed in                            \n"
  307.             ("%-53s\n" frto)
  308.  
  309.         (if (= frto "SYS:WBStartup")
  310.             "(You need to reboot for FetchRefs to auto-load)      \n"
  311.             "(Modify your s:user-startup to make it auto-start)   \n"
  312.         )
  313.  
  314.             "\n"
  315.  
  316.             "GenerateIndex is installed in                        \n"
  317.             ("%-53s\n" grto)
  318.             "\n"
  319.  
  320.             ("Installed ARexx scripts for: %-24s\n"
  321.                 (select editor
  322.                     "All editors"
  323.                     "AmokEd"
  324.                     "CygnusEd"
  325.                     "DME"
  326.                     "GoldED"
  327.                     "TurboText"
  328.                 )
  329.             )
  330.  
  331.             (if (= shell_rexx 1)
  332.              "                             and the Shell           \n"
  333.             )
  334.     
  335.             "\n"
  336.  
  337.             "You should now read the guide carefully and          \n"
  338.             "then make an index file.                             \n"
  339.             "\n"
  340.             "Happy fetching!                                      \n"
  341.          )
  342. )
  343.  
  344. (exit (quiet))
  345.  
  346.